home *** CD-ROM | disk | FTP | other *** search
-
- QEMM Analysis Procedure for Solving Memory Conflicts
-
- Quarterdeck Technical Note #219 Filename: EXCLUDE.TEC
- by Quarterdeck Testing & Compatibility CompuServe: EXCLUD.TEC
- Last revised: 7/02/92 Category: QEMM
-
- Subject: Finding potential conflicts in the address space between
- 640K and 1MB by using QEMM's Analysis procedure. An
- important note for users on network workstations.
-
- Q. What is Analysis?
-
- A. Whenever QEMM is "on" it monitors the use of the first megabyte
- of address space. The QEMM/ANALYSIS screen of Manifest shows
- what portions of the address space need to be EXCLUDEd to avoid
- High RAM conflicts.
-
-
- Q. Why should I use Analysis?
-
- A. If you are getting an Exception #13, are unable to access your
- network when QEMM is installed, cannot access a floppy, print,
- run some program, lock-up at some identifiable point in
- operating your computer (from booting to running your word
- processor), or have some other problem when running QEMM that
- you do not have when you do not run QEMM, then the ANALYSIS
- procedure may be a useful diagnostic process.
-
-
- Q. Why is this necessary?
-
- A. This procedure is necessary sometimes because Adapter ROMs and
- Adapter RAMs do not identify themselves in such a way as to be
- detected properly by QEMM. Adapter ROMs are supposed to
- identify their length in the third byte of the ROM itself but
- sometimes report a smaller size. Adapter RAMs that are not
- active at boot look exactly like unoccupied address space. QEMM
- maps unused portions of the system BIOS ROM and will map over
- such adapter ROMs and RAMs. Some special CGA video cards have
- two pages of video: one at B800-BBFF, the second at BC00-BFFF.
- QEMM may map over the second page, causing a conflict if you
- run a program that tries to use the second page. In rare
- circumstances there are programs that use portions of the high
- address space directly.
-
-
- Q. How does Analysis work?
-
- A. The QEMM/ANALYSIS screen of Manifest is a cross-reference
- between the QEMM/TYPE and QEMM/ACCESSED screens. The TYPE
- screen shows what QEMM thinks the address space is used for:
- Video, ROM, Page frame, High RAM, etc. The ACCESSED screen
- shows whether the address space has been accessed. When QEMM
- is neither accessing the high address space (by creating High
- RAM -- when the RAM parameter is on the QEMM386.SYS line in
- CONFIG.SYS), and when some portion of the address space is
- being accessed by something that QEMM has not detected
- automatically, a portion of the address space must be
- EXCLUDEd. Analysis displays the correct range to EXCLUDE.
-
-
- Q. How do I use ANALYSIS to find EXCLUDEs?
-
- A. First remove the RAM parameter from the QEMM386.SYS line of the
- CONFIG.SYS and add the ON and MA=0 parameters. This is to make
- sure that QEMM386 is not itself a user of the high address
- space, and that to ensure that QEMM on. Then reboot the
- machine and run the software that was causing the problem. The
- problem should not recur; if it does, a High RAM conflict is
- not the problem, and you should consult Quarterdeck Technical
- Note #241, QEMM General Troubleshooting (TROUBLE.TEC). Without
- rebooting, look at the QEMM / ANALYSIS screen in Manifest. If
- you see Xs, then these portions of the address space must be
- EXCLUDEd on the QEMM386.SYS line of the CONFIG.SYS. See the
- QEMM manual section on the syntax of the EXCLUDE parameter. If
- the QEMM is putting the page frame over a portion of the
- address space that QEMM should not be mapping then it may be
- necessary to put the parameter FR=NONE on the QEMM386.SYS line
- of the CONFIG.SYS during the ANALYSIS process. Once you are
- done with the ANALYSIS process you can restore the RAM
- parameter to the QEMM386.SYS line along with the appropriate
- EXCLUDEs.
-
-
- Q. How can Analysis fail?
-
- A. The only serious pitfall to the ANALYSIS process is that there
- are users of the high address space that use the high address
- space only momentarily. There is, for example, a Bernoulli
- drive that has an Adapter ROM in the high address space. At
- boot time, the device driver for the Bernoulli Box searches for
- the ROM at the beginning of every 8K portion of the address
- space beginning at C800. If the Adapter ROM is at DC00 then
- the device driver will access every other 4k of the address
- space from C800 to DC00. This causes Xs to appear in every
- other block in this area, even though the areas between
- C800-DBFF are only being used during the searching process.
- Most of these areas need not be excluded. The range from
- DC00-DEFF, where the Adapter ROM of the Bernoulli Box resides,
- may require an EXCLUDE.
-
- When you go into enhanced mode of Microsoft's Windows then QEMM
- is not active and the ANALYSIS process is not useful for the
- period of time that you are in enhanced mode.
-
-
- Q. What cost can there be in excluding an area?
-
- A. EXCLUDEing a portion of the address space will only cost you,
- at the worst, a bit of usable high RAM. It will not make your
- system malfunction in any other way, and is likely to improve
- stability.
-
- If you add an EXCLUDE you should run OPTIMIZE again because
- your available High RAM regions have been resized and perhaps
- renumbered.
-
-
- Q. What about those green "I"s?
-
- A. The green I you see on the QEMM/ANALYSIS screen indicates that
- this portion of the address space has not been accessed by
- anyone YET and QEMM is not mapping this portion of the address
- space. It is quite possible that this portion of the address
- space will be accessed later. (The portion of the system BIOS
- ROM that contains the code for controlling the floppy drive may
- report that it is INCLUDable until you actually use the drive.
- If you INCLUDE it you will have no problem until you access a
- floppy.) The QEMM manual discusses the use of the ANALYSIS
- process for this purpose; this document does not.
-
-
- Q. How do I perform the Analysis procedure?
-
- A. A thorough Analysis requires that you run all your programs.
- However, if a specific program seems to be exhibiting a High
- RAM conflict, you need only do a mini-Analysis by running the
- program that seems to be exhibiting the problem. As an
- example, suppose that you have installed an adapter card and
- software for a scanner. While the device driver for the scanner
- loads in CONFIG.SYS, part of the hardware is not accessed until
- you scan a document. This causes a crash, since QEMM has
- mapped High RAM over the address space that the adapter and the
- software expect to use. (It is unlikely, incidentally, that
- OPTIMIZE will fail to detect the card properly.)
-
- To begin the ANALYSIS process, modify your QEMM386.SYS line to
- look like this:
-
- DEVICE=C:\QEMM\QEMM386.SYS ON MA=0
-
- Reboot your machine. In this example, we would access the
- hardware by scanning a document. After doing this, start
- Manifest by going to the DOS prompt and typing
-
- MFT
-
- Select the QEMM / Type screen by typing Q, and then Y. Manifest
- will display a chart something like the following:
-
- n=0123 4567 89AB CDEF
- 0n00 XXXX XXXX XXXX XXXX
- 1n00 ++++ ++++ ++++ ++++
- 2n00 ++++ ++++ ++++ ++++
- 3n00 ++++ ++++ ++++ ++++
- 4n00 ++++ ++++ ++++ ++++
- 5n00 ++++ ++++ ++++ ++++
- 6n00 ++++ ++++ ++++ ++++
- 7n00 ++++ ++++ ++++ ++++
- 8n00 ++++ ++++ ++++ ++++
- 9n00 ++++ ++++ ++++ ++++
- An00 VVVV VVVV VVVV VVVV
- Bn00 ++++ ++++ VVVV VVVV
- Cn00 RRRR RRRR ++++ ++++
- Dn00 R+++ ++++ ++++ ++++
- En00 FFFF FFFF FFFF FFFF
- Fn00 ++++ +++R RRRR RRRR
-
- Look at the Dn00 line. This indicates that QEMM is identifying
- an Adapter ROM in D000-D0FF. Now select the QEMM / Accessed
- screen by pressing the C key. Manifest will display a screen
- that looks like this:
-
- n=0123 4567 89AB CDEF
- 0n00 WWWW AAAA AWWW WWWW
- 1n00 WWWW WWWW WWWW WWWW
- 2n00 WWWW WWWW WWWW WWUU
- 3n00 UUUU UUUU UUUU UUUU
- 4n00 UUUU UUUU UUUU UUUU
- 5n00 UUUU UUUU UUUU UUUU
- 6n00 UUUU UUUU UUUW WWWW
- 7n00 WWWW WWWW WWWW WWWW
- 8n00 WUUU UUUU WWUU UUUU
- 9n00 UUUU UUUU WWWW WWWW
- An00 WWUU UUUU UUUU UUUU
- Bn00 UUUU UUUU WWWW WWWW
- Cn00 WWWW WWWW UUUU UUUU
- Dn00 WWAA UUUU UUUU UUUU
- En00 UUUU UUUU UUUU UUUU
- Fn00 UUUU UUUU UUUU UUUW
-
- Look at the Dn00 line: QEMM is detecting that D000-D3FF is
- actually being accessed, D000-D1FF being written to and
- D200-D3FF only being read, and is passing this information to
- Manifest. Now choose the QEMM / Analysis screen by pressing
- the N key:
-
- n=0123 4567 89AB CDEF
- 0n00 OOOO OOOO OOOO OOOO
- 1n00 OOOO OOOO OOOO OOOO
- 2n00 OOOO OOOO OOOO OOOO
- 3n00 OOOO OOOO OOOO OOOO
- 4n00 OOOO OOOO OOOO OOOO
- 5n00 OOOO OOOO OOOO OOOO
- 6n00 OOOO OOOO OOOO OOOO
- 7n00 OOOO OOOO OOOO OOOO
- 8n00 OOOO OOOO OOOO OOOO
- 9n00 OOOO OOOO OOOO OOOO
- An00 OOOO OOOO OOOO OOOO
- Bn00 OOOO OOOO OOOO OOOO
- Cn00 OOIO OIOO OOOO OOOO
- Dn00 OXXX OOOO OOOO OOOO
- En00 OOOO OOOO OOOO OOOO
- Fn00 OOOO OOOO OOOO OOOO
-
- Press the F3 key to display the information in List Mode.
- You will see a table that looks like this:
-
- Memory Area Size Status
- 0000 - C1FF 776K OK
- C200 - C2FF 4K Include
- C300 - C4FF 8K OK
- C500 - C5FF 4K Include
- C600 - D0FF 44K OK
- D100 - D3FF 12K Exclude
- D400 - FFFF 176K OK
-
- ANALYSIS is showing that D000-D3FF needs to be EXCLUDEd. This
- is the sort of address range that might be associated with a
- scanner card at D000. In the example above, QEMM accurately
- identifies a 4K adapter ROM on boot; in fact, the example card
- has an unmarked RAM buffer on it as well. The ACCESSED map
- above shows that 16K is being accessed, and the ANALYSIS map
- is pointing out that the additional 12K must be EXCLUDEd.
- Note that unlike the display above, there should be no spaces
- within the EXCLUDE parameter. That is,
-
- X=D100 - D3FF
-
- is NOT a valid QEMM parameter, while
-
- X=D100-D3FF
-
- is valid.
-
- Thus, a CONFIG.SYS line to account for the scanner, based on
- our mini-Analysis procedure, would look like this:
-
- DEVICE=C:\QEMM\QEMM386.SYS RAM X=D100-D3FF
-
- (Increasing the range of the EXCLUDE such that it covers
- D000-D3FF is not harmful in any way.)
-
- Summary
- =======
-
- QEMM does its best to identify users of the high address space,
- but hardware not accessed at boot time may not be detected by
- QEMM. ANALYSIS allows the user to find areas between 640K that
- are used by hardware.
-
- ******************************************************************
- * Trademarks are property of their respective owners. *
- * This and other technical notes may be available in updated *
- * forms through Quarterdeck's standard support channels. *
- * Copyright (C) 1995 Quarterdeck Corporation *
- ******************** E N D O F F I L E ***********************
-
-